The first arg is the destination, a stream, or when nil, a string.
The number 5 is considered a parameter to ~A in the first example.
The colon is considered a modifier to ~A in the first example.
One can put V or # in
place of any parameter:
V=get parm from arg-list
#=parm is number of args
left to be processed.
What follows is a table
composed of items containing:
format directive
mnemonic aid
parameters
modifiers
~A Ascii mincol,colinc,minpad,padchar :@ :makes nil be () @ makes pad be printed on the Right hand side instead of the default left hand side.
~S S-epression mincol,colinc,minpad,padchar :@ : and @ are same as in ~A
~P Plural :@ : makes it go back one arg @ deals with y-cases instead of s cases
~C Character :@ : spells name of control bits. @ prints characters LISP READably. :@ has unclear semantics in CCL.
~% Newline howmany
~& Freshline howmany
~| Page howmany
~~ Tilde howmany
~T Tabulate colnum,colinc @ @ does relative tabulation.
~<str~> Justify mincol,colinc,minpad,padchar :@ : makes spaces come before first element. @ makes spaces come after last element. :@ centers the text.
~D Decimal mincol,padchar,commachar :@ :puts commas every third digit. @ makes the sign be always printed.
~B Binary mincol,padchar,commachar :@ : and @ same as ~D
~O Octal mincol,padchar,commachar :@ : and @ same as ~D
~X Hexadecimal mincol,padchar,commachar :@ : and @ same as ~D
~R Radix radix,mincol,padchar,commachar:@ If there is a parameter : and @ act same as in ~D.
English-number If no parameters, ~R prints its arg as a cardinal English number (four) : puts out number ordinaly (fourth). @ puts out number in Roman numerals (IV). :@ puts out number in OLD Roman numerals (IIII).
~F Fixed-fp w,d,k,overflow,padchar @ @ makes sign be always printed.
~E Exponential-fp w,d,e,k,overflowchar,padchar,exponentchar @ @ same as in ~F
~G General-fp w,d,e,k,overflowchar,padchar,exponentchar @ @ same as in ~F
~$ Dollars-fp d,n,w,padchar :@ @ same as in ~F
~<newline> Ignore-the-inputed-newline :@ : leaves whitespace following <newline> intact. @ leaves <newline> intact but ignores the following whitespace.
~* Skip-args howmany :@ : ignores backwards and reuses those args. @ performs absolute goto in arg number to go to.
~? Indirection @ @ makes only one arg be directly consumed.
~(str~) Case-Conversion :@ : capitalizes all words. @ capitalized the first word and FORCES the rest to lower case. :@ converts every lowrecase to corresponding uppercase character.
~[str0~;str1~;...strn~] Conditional-expression which-string? :@ : does a [false~;true~] conditionalization. @ tests the argument if it is non nil it is not used up by ~[ and the clause true is processed. If the arg is nil it is used up but the clause true is not executed.
~; Clause-separator-in-~[-and-~<-constructs
~{str~} Iteration :@ normally the arg should be a list that is used over and over in the repetition. With a : arg should be a list of sublists. on each iteration, a different sublist is used. @ makes the remaining arguments be used as args in the repetition of the string str.
~^ Escape 1-arg,2-arg,3-arg : : terminates entire iteration process not just the current iteration.